package org.persistente.esquema;

import java.lang.reflect.Field;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * Relação atributo-campo do tipo inteiros longos.
 * @author philipe
 */
public class CampoLong extends CampoAbstrato<Long> {

    public CampoLong(Field campo) {
        super(campo);
    }

    

    @Override
    public Long get(ResultSet rs) throws SQLException {
        long num = rs.getLong(getNome());
        if (rs.wasNull()) {
            return null;
        }
        return new Long(num);
    }

    @Override
    public void set(PreparedStatement ps, int i, Long valor) throws SQLException {
        if (valor != null) {
            ps.setLong(i, valor);
        } else {
            ps.setNull(i, 8); //8 = tipo SQL
        }
    }


}
